草庐IT

git - 无法将 sslVerify 设置为 false

全部标签

ruby - Bundler 无法与 rbenv 一起工作,找不到 [gem]

我刚刚从rvm切换到rbenv,我正在尝试使用bundler进行gem管理。在运行bundleinstall并尝试运行一个简单的sinatra应用程序(rubyapp.rb)之后,我得到了这个:Couldnotfindhaml-3.1.4inanyofthesourcesRun`bundleinstall`toinstallmissinggems.再次运行bundleinstall没有效果。还按照另一个问题回复的建议尝试了bundleupdate。这是我的Gemfile:source"http://rubygems.org"gem"sinatra"gem"haml"这就是bundles

ruby - 设置 Ruby 变量(如果尚未定义)

在Ruby中,如果一个变量还没有被定义,你如何设置一个特定的值,如果它已经被定义了,你如何保留当前值? 最佳答案 虽然x||=value是一种表示“如果x包含一个虚假值,包括nil(在这个构造中隐含的ifx未定义因为它出现在赋值的左侧),给x赋值”,它就是这样做的。它大致等同于以下内容。(但是,x||=value不会像这段代码那样抛出NameError,可能并且它总是会为x赋值因为这段代码没有——关键是要看到x||=value对x中的任何假值,包括“默认”nil值):if!xx=valueend要查看变量是否真的没有被赋值,使用de

ruby - 动态设置 Ruby 对象的属性

如何在Ruby中动态设置对象属性,例如defset_property(obj,prop_name,prop_value)#needtodosomethinglike>obj.prop_name=prop_value#wecanuseevalbutI'llpreferafaster/cleaneralternative:eval"obj.#{prop_name}=#{prop_value}"end 最佳答案 使用send:defset_property(obj,prop_name,prop_value)obj.send("#{prop

ruby - 为什么 Matz 选择在 Ruby 中默认设置可变字符串?

这是这个问题的反面:Whycan'tstringsbemutableinJavaand.NET?在Ruby中做出这个选择仅仅是因为操作(追加等)对可变字符串有效,还是有其他原因?(如果只是效率,那似乎很奇怪,因为Ruby的设计似乎并没有高度重视促进高效实现。) 最佳答案 如您所见,这符合Ruby的设计。不可变字符串比可变字符串更有效——更少的复制,因为字符串被重复使用——但让程序员的工作更加困难。将字符串视为可变的很直观——您可以将它们连接在一起。为了解决这个问题,Java默默地将两个字符串的连接(通过+)转换为StringBuff

ruby-on-rails - 在长期运行的项目中重新设置 Rails 迁移的基线

我的意思是字典中的“rebase”,而不是git定义...我有一个大型的、长期运行的Rails项目,其中有大约250个迁移,管理所有这些变得有点笨拙。也就是说,我确实需要一个基础来在运行测试时从中清除和重建我的数据库。所以这些里面包含的数据很重要。有没有人有任何策略可以说,在设定点转储架构-归档所有旧迁移并重新开始新迁移。显然我可以使用rakeschema:dump-但实际上我需要一种方法让db:migrate首先加载模式,然后开始运行其余的迁移。我想继续使用迁移,因为它们在开发中非常有用,但是,我无法回过头来编辑2007年的迁移,所以保留它似乎很愚蠢。 最

ruby-on-rails - Gem::LoadError: 无法激活 pg (~> 0.18),已激活 pg-1.0.0

这个问题在这里已经有了答案:RailsapplicationusingPostgresadaptercan'tactivatepg(1个回答)关闭4年前。我一直在做Rails教程发现here并且已经成功到必须使用$railsdb:migrate来迁移Comments迁移。在此之前,我已经能够毫无问题地生成文章模型并迁移文章创建迁移。在这两次迁移之间,我的Gemfile中没有任何变化,所以我不确定Bundler有什么问题。这是错误,后面是完整的命令行输出,以及我的Gemfile和schema.rb:Gem::LoadError:can'tactivatepg(~>0.18),alread

ruby - 无法从同一网络上的另一台计算机访问本地 Sinatra 服务器

我有一个通过textmate运行的简单Sinatra服务器,但我无法从同一网络上的另一台计算机访问。我在MacOS10.8.3上运行Ruby1.9.3p327和Sinatra1.4.1。防火墙已禁用。我在不同的网络和计算机上测试了相同的场景。计算机响应简单的ping,但当我尝试远程登录端口4567时,我无法建立连接。 最佳答案 有一个recentcommittoSinatra出于安全考虑,在开发模式下将默认监听地址从0.0.0.0更改为localhost。为了明确允许从网络访问,您需要在另一种模式(例如生产模式)下运行您的应用程序,

ruby - 无法在 OSX Lion 上使用 RVM 安装 Ruby Enterprise Edition

这是我到目前为止所做的。全新安装OSXLion已从AppStore下载并安装最新版本的Xcode。已安装Git已安装自制软件已安装RVM我现在尝试使用rvminstallree为项目安装RubyEnterpriseEdition并收到以下错误:$rvminstallreeree-1.8.7-2011.03-#installingERROR:Errorrunning'./installer-a/Users/FaraazKhan/.rvm/rubies/ree-1.8.7-2011.03--no-tcmalloc--dont-install-useful-gems',pleaseread/

ruby - 如何设置方法测试中使用的私有(private)实例变量?

给定一个包含几个实例变量和一些方法的类。一些实例变量设置为可通过attr_reader和attr_accessor访问。因此其他的都是私有(private)的。一些私有(private)实例变量在一个实例方法中设置,并在另一个方法中读取/使用。我使用RSpec进行测试。由于我对Ruby还是个新手,并且希望把所有事情都做好,所以我将我的测试定义为相当细粒度的。因此,我为每个实例方法获得了一个describeblock,它们本身被划分为context和it的子集。一般环境先决条件用before定义。但是,当测试其中一种使用但未设置私有(private)变量的方法时,我需要调用另一种方法,即

ruby - 警告! PATH 没有设置好,一般是 shell 初始化文件引起的

每当我转到包含.rvmrc文件的文件夹时,都会出现警告:Warning!PATHisnotproperlysetup,'/home/me/.rvm/gems/ruby-2.0.0-p247/bin'isnotavailable,usuallythisiscausedbyshellinitializationfiles-checkthemfor'PATH=...'entries,tofixrun:'rvmuseruby-2.0.0-p247'.我做了rvmuseruby​​-2.0.0-p247,但警告仍然存在。注意:没有错误,我可以很好地运行我的应用程序,但警告非常烦人。有什么想法吗?